--- title: "L1-095 分寝室" created: 2025-11-28 tags: - 算法 --- # L1-095 分寝室 ## 题目 [L1-095 分寝室](https://pintia.cn/problem-sets/994805046380707840/exam/problems/type/7?problemSetProblemId=1649748772841508870&page=0) ![[image-9c079c95.png]] ## 思路分析 ## 代码实现 ```cpp #include using namespace std; #define endl '\n' using ll = long long; using ull = unsigned long long; using PII = pair; using Pll = pair; int dx[4]= {-1,0,1,0},dy[4]= {0,1,0,-1}; const int inf = 0x3f3f3f3f; int main() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int n0,n1,n;cin>>n0>>n1>>n; int ansF,ansM; int mincj=inf; bool havefind=false; for(int l=1;l<=n-1;l++){//枚举女生宿舍多少间 最少1间 最多n-1间 int r=n-l; if(n0%l!=0 || n1%r!=0) continue; int curF=n0/l; int curM=n1/r; if(curF==1 || curM==1) continue; // 不允许一人一间 小心遗漏条件 int curcj=abs(curF-curM); if(curcj